/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
using System;
using System.Collections.Generic;

using Aliyun.Acs.Core.Transform;
using Aliyun.Acs.live.Model.V20161101;

namespace Aliyun.Acs.live.Transform.V20161101
{
    public class DescribeRTSNativeSDKPlayFailStatusResponseUnmarshaller
    {
        public static DescribeRTSNativeSDKPlayFailStatusResponse Unmarshall(UnmarshallerContext _ctx)
        {
			DescribeRTSNativeSDKPlayFailStatusResponse describeRTSNativeSDKPlayFailStatusResponse = new DescribeRTSNativeSDKPlayFailStatusResponse();

			describeRTSNativeSDKPlayFailStatusResponse.HttpResponse = _ctx.HttpResponse;
			describeRTSNativeSDKPlayFailStatusResponse.DataInterval = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.DataInterval");
			describeRTSNativeSDKPlayFailStatusResponse.EndTime = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.EndTime");
			describeRTSNativeSDKPlayFailStatusResponse.RequestId = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.RequestId");
			describeRTSNativeSDKPlayFailStatusResponse.StartTime = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.StartTime");

			List<DescribeRTSNativeSDKPlayFailStatusResponse.DescribeRTSNativeSDKPlayFailStatus_Data> describeRTSNativeSDKPlayFailStatusResponse_playFailStatus = new List<DescribeRTSNativeSDKPlayFailStatusResponse.DescribeRTSNativeSDKPlayFailStatus_Data>();
			for (int i = 0; i < _ctx.Length("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus.Length"); i++) {
				DescribeRTSNativeSDKPlayFailStatusResponse.DescribeRTSNativeSDKPlayFailStatus_Data data = new DescribeRTSNativeSDKPlayFailStatusResponse.DescribeRTSNativeSDKPlayFailStatus_Data();
				data.TimeStamp = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].TimeStamp");
				data.V20001 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20001");
				data.V20002 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20002");
				data.V20011 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20011");
				data.V20012 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20012");
				data.V20013 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20013");
				data.V20052 = _ctx.StringValue("DescribeRTSNativeSDKPlayFailStatus.PlayFailStatus["+ i +"].V20052");

				describeRTSNativeSDKPlayFailStatusResponse_playFailStatus.Add(data);
			}
			describeRTSNativeSDKPlayFailStatusResponse.PlayFailStatus = describeRTSNativeSDKPlayFailStatusResponse_playFailStatus;
        
			return describeRTSNativeSDKPlayFailStatusResponse;
        }
    }
}
